home *** CD-ROM | disk | FTP | other *** search
/ Creative Review 28 / Creative-Review-CD-ROM-28.iso / pc / kungfu / assets / game.dir / 00015_Script_sting class < prev    next >
Text File  |  1997-08-08  |  5KB  |  208 lines

  1. -- sting class
  2. -- -------------------------------------------------- 
  3.  
  4. property list
  5.  
  6. property videooffset
  7.  
  8. property currentstingname
  9. property currentorder
  10. property currentback
  11.  
  12. property clipindex
  13. property currentclip
  14.  
  15. -- ==================================================
  16. global gcallback, ggame
  17.  
  18. -- ==================================================
  19. -- new method
  20. -- --------------------------------------------------
  21. on new me, props
  22.   
  23.   minit me, props
  24.   return me
  25.   
  26. end mnew 
  27.  
  28. -- ==================================================
  29. -- minit method
  30. -- --------------------------------------------------
  31. on minit me, props
  32.   
  33.   --  put "in minit sting manager"
  34.   
  35.   set videochannel = 48
  36.   
  37.   set data = data2list ( "sting data" )
  38.   set videooffset = data2list ( "sting offset data" )
  39.   
  40.   set list = [:]
  41.   
  42.   repeat with stingindex = 1 to count ( data ) 
  43.     
  44.     set thisstingdata = getat ( data,  stingindex )
  45.     set stingname = getpropat ( data, stingindex )
  46.     
  47.     --    put "ò sting: ", stingname
  48.     
  49.     set stinglist = [:]
  50.     addprop list, stingname, stinglist
  51.     
  52.     set cast = getaprop ( thisstingdata, #cast )
  53.     setaprop stinglist , #cast, cast 
  54.     
  55.     set videodata = getaprop ( thisstingdata, #video )
  56.     
  57.     set videoorder = []
  58.     
  59.     repeat with clipindex = 1 to count ( videodata )
  60.       
  61.       
  62.       set clipprops = getat ( videodata, clipindex )
  63.       set loc = getaprop ( clipprops, #loc )
  64.       set loc = loc + videooffset
  65.       setaprop clipprops, #loc, loc
  66.       setaprop clipprops, #channel, videochannel
  67.       setaprop clipprops, #stay, false
  68.       setaprop clipprops, #castname, "sting.mov"
  69.       
  70.       set videodraw = new ( script "draw class" , clipprops )
  71.       setaprop clipprops, #draw, videodraw
  72.       
  73.       set clip = new ( script "video clip class" , clipprops )
  74.       
  75.       add videoorder, clip
  76.       
  77.     end repeat
  78.     
  79.     setaprop stinglist , #video, videoorder 
  80.     
  81.   end repeat
  82.   
  83.   
  84.   set stingindex = 0
  85.   
  86.   --  put "out minit sting manager"
  87.   
  88. end minit
  89.  
  90. -- ==================================================
  91. -- mstart method
  92. -- --------------------------------------------------
  93. on mstart me, screenlist
  94.   
  95.   --  put "in mstart sting manager"
  96.   
  97.   repeat while  msoundbusy ( gsound ) 
  98.     updatestage
  99.   end repeat
  100.   
  101.   set data = getaprop ( screenlist , #data )
  102.   set currentstingname = getat ( data, 1 )
  103.   set currentsting = getaprop ( list, currentstingname )
  104.   set currentback = getaprop ( currentsting, #cast )
  105.   set currentorder = getaprop ( currentsting, #video )
  106.   
  107.   set clipindex = 0
  108.   
  109.   maddtask gtime, me, the timer + 60
  110.   
  111.   --  put "out mstart sting manager"
  112.   
  113. end mstart me
  114.  
  115. -- ==================================================
  116. -- mdotask method
  117. -- --------------------------------------------------
  118. on mdotask me
  119.   
  120.   --  put "in mdotask sting manager"
  121.   
  122.   mnextclip me
  123.   
  124.   --  put "in mdotask sting manager"
  125.   
  126. end mdotask 
  127.  
  128. -- ==================================================
  129. -- mfinish method
  130. -- --------------------------------------------------
  131. on mfinish me
  132.   
  133.   --  put "in mfinish sting manager"
  134.   
  135.   msplat gback, currentback
  136.   mhide me
  137.   mfinishscreen ggame
  138.   
  139.   --  put "out mfinish sting manager"
  140.   
  141. end mfinish me
  142.  
  143. -- ==================================================
  144. -- mnextclip method
  145. -- --------------------------------------------------
  146. on mnextclip me
  147.   
  148.   --  put "in mnextclip sting class :"
  149.   
  150.   set clipindex = clipindex + 1
  151.   
  152.   if clipindex > count ( currentorder ) then 
  153.     mfinish ( me )
  154.     return  
  155.   end if
  156.   
  157.   set currentclip = getat ( currentorder, clipindex )
  158.   
  159.   set gcallback = me
  160.   
  161.   if clipindex = 1 then set checkhang = true
  162.   else set checkhang = false
  163.   
  164.   mplay currentclip, checkhang
  165.   
  166.   --  put "out mnextclip sting class :"
  167.   
  168. end mnextclip
  169.  
  170. -- ==================================================
  171. -- mcallback method
  172. -- --------------------------------------------------
  173. on mcallback me
  174.   
  175.   --  put "in mcallback sting manager"
  176.   
  177.   mnextclip me
  178.   
  179.   --  put "out mcallback sting manager"
  180.   
  181. end mcallback me
  182.  
  183. -- ==================================================
  184. -- mhide method
  185. -- --------------------------------------------------
  186.  
  187. on mhide me
  188.   
  189.   put "in mhide sting manager"
  190.   
  191.   mhide the draw of currentclip
  192.   
  193.   put "out mhide sting manager"
  194.   
  195. end mhide me
  196.  
  197.  
  198. -- ==================================================
  199. -- mshow method
  200. -- --------------------------------------------------
  201. on mshow me
  202.   
  203.   put "in mshow sting"
  204.   
  205.   put "out mshow sting"
  206.   
  207. end mshow
  208.